#region Copyright
/// <copyright>
/// Copyright (c) 2007 Ilia Shramko.
/// Released under the terms of the GNU General Public License.
/// </copyright>
#endregion

using System;
using System.Collections.Generic;
using System.Text;

namespace Osh.ZoomPlayer
{
	public enum MessageCode
	{
		/// <summary>
		/// String describing the Application
		/// </summary>
		ApplicationName = 0,
		/// <summary>
		/// String with the version text
		/// </summary>
		ApplicationVersion = 1,
		/// <summary>
		/// 0 - Closed, 1  - Stopped (doesn't apply to DVD, DVD Stop = Closed), 2  - Paused, 3  - Playing
		/// </summary>
		StateChange = 1000,
		/// <summary>
		/// 0  - Windowed, 1  - Fullscreen
		/// </summary>
		FullscreenState = 1010,
		/// <summary>
		/// 0  - Disabled, 1  - Enabled
		/// </summary>
		FastForwardState = 1020,
		/// <summary>
		/// 0  - Disabled, 1  - Enabled
		/// </summary>
		RewindState = 1021,
		/// <summary>
		/// String containing timeline data.
		/// The string has generaly the following format "HH:MM:DD / HH:MM:DD" - "CurrentTime / TotalTime"
		/// (e.g. "00:05 / 1:52:27"), but can be just a string e.g. "Menu" (in DVD mode).
		/// </summary>
		TimelineUpdate = 1100,
		/// <summary>
		/// Current Duration in milliseconds
		/// </summary>
		Duration = 1110,
		/// <summary>
		/// Current Position in milliseconds
		/// </summary>
		Position = 1120,
		/// <summary>
		/// String containing the OSD message
		/// </summary>
		OsdMessage = 1200,
		/// <summary>
		/// No value, message just tells that the OSD has disappeared
		/// </summary>
		OsdMessageOff = 1201,
		/// <summary>
		/// 0  - DVD Mode, 1  - Media Mode, 2  - Audio Mode
		/// </summary>
		PlayMode = 1300,
		/// <summary>
		/// 0  - PC Mode, 1  - TV Mode (unused)
		/// </summary>
		TVPCMode = 1310,
		/// <summary>
		/// Current Title
		/// </summary>
		DvdTitleChange = 1400,
		/// <summary>
		/// Number of Titles
		/// </summary>
		DvdTitleCount = 1401,
		/// <summary>
		/// See EC_DVD_DOMAIN_CHANGE in DirectX SDK.
		/// DVD_DOMAIN:
		///		DVD_DOMAIN_FirstPlay=1, DVD_DOMAIN_VideoManagerMenu=2,
		///		DVD_DOMAIN_VideoTitleSetMenu=3, DVD_DOMAIN_Title=4, DVD_DOMAIN_Stop=5
		/// </summary>
		DvdDomainChange = 1410,
		/// <summary>
		/// 0  - Not in a Menu, 1  - In a Menu
		/// </summary>
		DvdMenuMode = 1420,
		/// <summary>
		/// Returns a unique DVD indentifer
		/// </summary>
		DvdUniqueString = 1450,
		/// <summary>
		/// Current Chapter
		/// </summary>
		DvdChapterChange = 1500,
		/// <summary>
		/// Number of Chapters
		/// </summary>
		DvdChapterCount = 1501,
		/// <summary>
		/// Current Audio Track
		/// </summary>
		DvdAudioChange = 1600,
		/// <summary>
		/// Number of Audio Tracks
		/// </summary>
		DvdAudioCount = 1601,
		/// <summary>
		/// Contains the name of the Audio track and a padded number for example "001 5.1 AC3"
		/// </summary>
		DvdAudioName = 1602,
		/// <summary>
		/// Current Subtitle Track
		/// </summary>
		DvdSubtitleChange = 1700,
		/// <summary>
		/// Number of Subtitle Tracks
		/// </summary>
		DvdSubtitleCount = 1701,
		/// <summary>
		/// Contains the name of the Subtitle track and a padded number for example "001 5.1 AC3"
		/// </summary>
		DvdSubtitleName = 1702,
		/// <summary>
		/// 0 - Sub Visible, 1 - Sub Hidden
		/// </summary>
		DvdSubtitleDisabled = 1704,
		/// <summary>
		/// Current Angle
		/// </summary>
		DvdAngleChange = 1750,
		/// <summary>
		/// Number of Angles in the DVD Title 
		/// </summary>
		DvdAngleCount = 1751,
		/// <summary>
		/// String containing file name
		/// </summary>
		FileName = 1800,
		/// <summary>
		/// String containing the Zoom Player Play List structure. 
		/// Each entry is separated by the "&gt;" character.
		/// Each entry is sub-divided into additional information:
		/// |N .. |n - Name
		/// |E .. |e - Extension
		/// |D .. |d - Date
		/// |S .. |s - Size
		/// |P .. |p - Path
		/// |R .. |r - Duration
		/// |F .. |f - Forced Duration
		/// It is possible addtional tags will be used in future version, so code safely.
		/// </summary>
		Playlist = 1810,
		/// <summary>
		/// End of file has been reached
		/// </summary>
		EndOfFile = 1855,
		/// <summary>
		/// String containing file position in play list
		/// </summary>
		PlaylistPosition = 1900,
		/// <summary>
		/// String containing the video resolution (if there is one)
		/// </summary>
		VideoResolution = 2000,
		/// <summary>
		/// String containing the video frame rate (if there is one)
		/// </summary>
		VideoFrameRate = 2100,
		/// <summary>
		/// String containing the AR String (same as OSD message)
		/// </summary>
		ARChange = 2200,
		/// <summary>
		/// 0  - Unknown, 1  - Full-Frame, 2  - Letterbox, 3  - Anamorphic
		/// </summary>
		DvdARModeChange = 2210,
		/// <summary>
		/// The current Audio Volume
		/// </summary>
		AudioVolume = 2300,
		/// <summary>
		/// Returns Media Content Strings (ID3/APE/WMA/Etc... Tags)
		/// </summary>
		MediaContentTags = 2400,
		/// <summary>
		/// Returns path to drive the CD/DVD disc was inserted to
		/// </summary>
		DiskWasInserted = 2500,
		/// <summary>
		/// String of error messsage.
		/// Note that there can be multiple errors appearing in sequence,
		/// only the last error may be visible by the user.
		/// </summary>
		ZPErrorMessage = 3000,
		/// <summary>
		/// A Navigator Dialog has opened
		/// 0 - Blanking Navigator
		/// 1 - Chapter Navigator
		/// 2 - Context Navigator
		/// 3 - File Navigator
		/// 4 - GoTo Navigator
		/// 5 - Media Library Navigator
		/// 6 - MouseWheel Navigator
		/// 7 - Color Control Navigator
		/// 8 - Play List Navigator
		/// 9 - Resize Navigator
		///10 - Station Navigator
		///11 - Web URL Navigator
		/// </summary>
		NavDialogOpened = 3100,
		/// <summary>
		/// A Navigator Dialog has closed (Values are the same as #3100)
		/// </summary>
		NavDialogClosed = 3110,
		/// <summary>
		/// The ZP Screen Saver has: 0 - Started, 1 - Ended
		/// </summary>
		ScreenSaverMode = 3200,
		/// <summary>
		/// Value contains name of function
		/// </summary>
		ZPFunctionCalled = 5100,
		/// <summary>
		/// Value contains name of function
		/// </summary>
		ZPExFunctionCalled = 5110,
		/// <summary>
		/// Value contains ScanCode
		/// </summary>
		ZPScanCodeCalled = 5120,
	}
}
